package com.yxw.yx_hotel.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;


/** 
 * @author liuxin
 * @create 2024-01-19 14:26:15 
 * @description 在住名单 
 */
@Data
@TableName(value ="yx_stay_in")
@ApiModel(value = "在住名单" , description="yx_stay_in")
public class YxStayInEntity  implements Serializable {
    private static final long serialVersionUID = 1L;

    @TableId(value = "stay_in_id",type = IdType.ASSIGN_ID)
    @ApiModelProperty(value="在住ID")
    private Long stayInId;

    @TableField(value="user_id")
    @ApiModelProperty(value="入住人员ID")
    private Long userId;

    @TableField(value="user_name")
    @ApiModelProperty(value="入住人员名称")
    private String userName;

    @TableField(value="user_num")
    @ApiModelProperty(value="工号")
    private String userNum;

    @TableField(value="sex")
    @ApiModelProperty(value="性别 0：女 1：男")
    private Integer sex;

    @TableField(value="phone")
    @ApiModelProperty(value="电话")
    private String phone;

    @TableField(value="dept_id")
    @ApiModelProperty(value="部门ID")
    private Long deptId;

    @TableField(value="dept_name")
    @ApiModelProperty(value="部门名称")
    private String deptName;

    @TableField(value="post_id")
    @ApiModelProperty(value="岗位ID")
    private Long postId;

    @TableField(value="post_name")
    @ApiModelProperty(value="岗位名称")
    private String postName;

    @TableField(value="user_state")
    @ApiModelProperty(value="员工状态 1：实习 2：正式 3：临时")
    private Integer userState;

    @TableField(value="room_id")
    @ApiModelProperty(value="宿舍Id")
    private Long roomId;

    @TableField(value="room_name")
    @ApiModelProperty(value="宿舍名称")
    private String roomName;

    @TableField(value="bed_id")
    @ApiModelProperty(value="床位ID")
    private Long bedId;

    @TableField(value="bed_name")
    @ApiModelProperty(value="床位名称")
    private String bedName;

    @TableField(value="stay_time")
    @ApiModelProperty(value="入住时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date stayTime;

    @TableField(value="stay_in_time")
    @ApiModelProperty(value="实际入住时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date stayInTime;

    @TableField(value="create_id")
    @ApiModelProperty(value="创建人ID")
    private Long createId;

    @TableField(value="create_name")
    @ApiModelProperty(value="创建人")
    private String createName;

    @TableField(value="create_time")
    @ApiModelProperty(value="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @TableField(value="update_id")
    @ApiModelProperty(value="更新人ID")
    private Long updateId;

    @TableField(value="update_name")
    @ApiModelProperty(value="更新人")
    private String updateName;

    @TableField(value="update_time")
    @ApiModelProperty(value="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @TableField(value="status")
    @ApiModelProperty(value="入住状态 0：退住 1：在住")
    private Integer status;

    @TableField(value="money")
    @ApiModelProperty(value="押金")
    private Double money;

    @TableField(value="pay_status")
    @ApiModelProperty(value="押金缴纳状态 0：不需缴纳 1：已缴纳 2：未缴纳")
    private Integer payStatus;

    @TableField(value="tenant_id")
    @ApiModelProperty(value="租户ID")
    private Long tenantId;

    @TableField(value="stay_wait_id")
    @ApiModelProperty(value="待住ID")
    private Long stayWaitId;
    
    @TableField(value="note")
    @ApiModelProperty(value="备注")
    private String note;
    
    @TableField("id_card")
    @ApiModelProperty(value = "身份证号")
    private String idCard;    
}
